package cn.sandy.lambda;


import cn.sandy.lambda.intface.LamdbaOneReturnOneParamater;
import cn.sandy.lambda.intface.LamdbaOneReturnVoidParamater;
import cn.sandy.lambda.intface.LamdbaVoidReturnOneParamater;
import cn.sandy.lambda.intface.LamdbaVoidReturnVoidParamater;

public class Lamdba2 {
    public static void main(String[] args) {

        //lamdba 本身是一个匿名函数
        //lamdba 表达式具体3部分
        //1.   () : 表达参数部分无参为空 有参进行填写
        //2.   -> : goes to 运算 连接符
        //3.   {} : 方法体 如果只有一行则可以省去大括号

        /**
         * 无参无返回
         */
        LamdbaVoidReturnVoidParamater lamdba1 = () ->
                System.out.println("hellosangdi");

        lamdba1.test();

        /**
         * 有参无返回
         */
        LamdbaVoidReturnOneParamater lamdba2 = (int a) -> {
            System.out.println("参数值：" + a);
        };

        lamdba2.test(1);

        /**
         * 无参有返回值
         */
        LamdbaOneReturnVoidParamater lamdba3 = () -> {
            return 100;
        };

        System.out.println("固定值："+lamdba3.test());

        /**
         * 有参有返回值
         */

        LamdbaOneReturnOneParamater lamdba4 = (int b) ->{
            return b;
        };

        int result2 = lamdba4.test(100);
        System.out.println("返回值："+ result2);
    }
}
